// 判断长度(长度不限为0)
String.prototype.isLen = function() {
	var isRightFormat = false;
	var minnum = arguments[0] ? arguments[0] : 0;
	var maxnum = arguments[1] ? arguments[1] : 0;
	isRightFormat = (minnum == 0 && maxnum == 0 ? true
			: (calculate_byte(this) >= minnum && calculate_byte(this) <= maxnum ? true:false));
	return isRightFormat;
}

// 验证用户名
String.prototype.isUser = function() {
	var myReg = /^[a-zA-Z]([a-zA-Z0-9]|[._])+$/;
	if (myReg.test(this))
		return true;
	return false;
}
// 验证登录名,只能是字母与数字的组合
String.prototype.isUserName = function() {
	var myReg = /(?!^\d+$)(?!^[a-zA-Z]+$)^[0-9a-zA-Z]{4,23}$/;
	if (myReg.test(this))
		return true;
	return false;
}
// 验证密码 字母数字
String.prototype.isPwd1 = function() {
	var myReg = /^[0-9a-zA-Z]+$/;
	if (myReg.test(this))
		return true;
	return false;
}
//是否包含大小写字母和数字 
String.prototype.isPwd2 = function() {
	var reg1 = new RegExp("[a-z]");
	if(!reg1.test(this))  return false;
	var reg2 = new RegExp("[A-Z]");
	if(!reg2.test(this))  return false;
	var reg3 = new RegExp("[0-9]");
	if(!reg3.test(this))  return false;
	return true;
}
// 验证是否为字母
String.prototype.isEn = function() {
	var myReg = /^[a-zA-Z]+$/;
	if (myReg.test(this))
		return true;
	return false;
}

// 验证是否为汉字
String.prototype.isCn = function() {
	var myReg = /^[\u0391-\uFFE5]+$/;
	if (myReg.test(this))
		return true;
	return false;
}

// 验证E-mail
String.prototype.isEmail = function() {
	var myReg = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
	if (myReg.test(this))
		return true;
	return false;
}

// 验证MSN
String.prototype.isMSN = function() {
	var myReg = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
	if (myReg.test(this))
		return true;
	return false;
}

// 验证QQ号码
String.prototype.isQQ = function() {
	var myReg = /^[1-9]\d{4,9}$/;
	if (myReg.test(this))
		return true;
	return false;
}
// 验证网址
String.prototype.isHttpUrl = function() {
	var myReg = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
	if (myReg.test(this))
		return true;
	return false;
}

// 验证域名
String.prototype.isDoMainName = function() {
	var myReg = /^[0-9a-zA-Z]([0-9a-zA-Z\-]+\.){1,3}[a-zA-Z]{2,4}?$/;
	if (myReg.test(this))
		return true;
	return false;
}

// 验证IPV4地址
String.prototype.isIpv4 = function() {
	var myReg = /^(2[0-5]{2}|1?[0-9]{1,2}).(2[0-5]{2}|1?[0-9]{1,2}).(2[0-5]{2}|1?[0-9]{1,2}).(2[0-5]{2}|1?[0-9]{1,2})$/;
	if (myReg.test(this))
		return true;
	return false;
}

// 验证图片地址(不支持由CGI动态生成的图片)
String.prototype.isImgURL = function() {
	var myReg = /^\.(jpeg|jpg|gif|bmp|png|pcx|tiff|tga|lwf)$/;
	if (myReg.test(this))
		return true;
	return false;
}
String.prototype.isImg1 = function() {
	var myReg = /.(jpeg|jpg|bmp|png|JPEG|JPG|BMP|PNG)$/;
	if (myReg.test(this))
		return true;
	return false;
}

// 验证手机号码
String.prototype.isCellPhone = function() {
	var myReg = /^((\(\d{3}\))|(\d{3}\-))?1[3,5]\d{9}$/;
	if (myReg.test(this))
		return true;
	return false;
}

// 验证固定电话
String.prototype.isPhone = function() {
	var myReg = /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
	if (myReg.test(this))
		return true;
	return false;
}

// 验证邮编
String.prototype.isZipCode = function() {
	var myReg = /[0-9]{6}/;
	if (myReg.test(this))
		return true;
	return false;
}

// 验证身份证号码
String.prototype.isIdCard = function() {
	var myReg = /(^([\d]{15}|[\d]{18}|[\d]{17}[xX]{1})$)/;
	if (myReg.test(this))
		return true;
	return false;
}

// 验证日期格式YY-MM-DD
String.prototype.isDateFormat = function() {
	var myReg = /^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$/;
	if (myReg.test(this))
		return true;
	return false;
}

// 验证时间格式HH:MM:SS
String.prototype.isRangeTime = function() {
	var myReg = /^(\d{2}):(\d{2}):(\d{2})$/;
	if (myReg.test(this))
		return true;
	return false;
}

// 验证金额格式
String.prototype.isMoney = function() {
	var myReg = /^[0-9]{1,8}[.]{0,1}[0-9]{0,2}$/;
	if (myReg.test(this))
		return true;
	return false;
}

// 字验证数字格式并判断数字的围(min:最小值;max:最大值.)
String.prototype.isInt = function() {
	var isRightFormat = false;
	var minnum = arguments[0] ? arguments[0] : 0;
	var maxnum = arguments[1] ? arguments[1] : 0;
	var myReg = /^[-\+]?\d+$/;
	if (myReg.test(this)) {
		isRightFormat = (minnum == 0 && maxnum == 0 ? true : (this > minnum
				&& this < maxnum ? true : false));
	}
	return isRightFormat;
}

// 验证搜索关键字
String.prototype.isSearch = function() {
	var myReg = /^[\|\"\'<>,.*&@#$;:!^()]/;
	if (myReg.test(this))
		return false;
	return true;
}


// js准确计算字符串长度
function calculate_byte(sTargetStr) {
	var sTmpStr, sTmpChar;
	var nOriginLen = 0;
	var nStrLength = 0;

	sTmpStr = new String(sTargetStr);
	nOriginLen = sTmpStr.length;

	for (var i = 0; i < nOriginLen; i++) {
		sTmpChar = sTmpStr.charAt(i);

		if (escape(sTmpChar).length > 4) {
			nStrLength += 2;
		} else if (sTmpChar != '\r') {
			nStrLength++;
		}
	}
	return nStrLength;
}
